package com.suning.sawp.constants;

import java.util.HashMap;
import java.util.Map;

/**
 * 
 * 〈一句话功能简述〉导出功能相关参数<br>
 * 〈功能详细描述〉
 *
 * @author 17033093
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
public class ExportConstants {

    /**
     * 错误码信息
     */
    public static final Map<String, String> MODEL_EXPORT_ERR_MAP = new HashMap<String, String>();
    public static final String ERR_E999 = "E999";
    public static final String ERR_E001 = "E001";
    public static final String ERR_E002 = "E002";
    public static final String ERR_E003 = "E003";
    public static final String ERR_E004 = "E004";
    public static final String ERR_E005 = "E005";
    public static final String ERR_E006 = "E006";
    public static final String ERR_E007 = "E007";

    /**
     * 提示信息
     */
    public static final Map<String, String> MODEL_EXPORT_TIPS_MAP = new HashMap<String, String>();
    public static final String TIP_T001 = "T001";

    static {
        MODEL_EXPORT_ERR_MAP.put(ERR_E999, "系统繁忙，请稍后重试");
        MODEL_EXPORT_ERR_MAP.put(ERR_E001, "入参不合法");
        MODEL_EXPORT_ERR_MAP.put(ERR_E002, "用户信息校验失败");
        MODEL_EXPORT_ERR_MAP.put(ERR_E003, "未获取到员工工号");
        MODEL_EXPORT_ERR_MAP.put(ERR_E004, "未获取到类名信息");
        MODEL_EXPORT_ERR_MAP.put(ERR_E005, "未获取到方法信息");
        MODEL_EXPORT_ERR_MAP.put(ERR_E006, "未获取到参数信息");
        MODEL_EXPORT_ERR_MAP.put(ERR_E007, "参数个数和参数类型个数不匹配");

        MODEL_EXPORT_TIPS_MAP.put(TIP_T001, "文件正在下载，下载完成后会邮件通知，请关注邮件提示");
    }

    /**
     * 导出任务redis标志
     */
    public static final String EXPORT_LOOP_TASK_STATE = "EXPORT_LOOP_TASK_STATE";

    /**
     * 
     * 〈一句话功能简述〉SCM邮件配置信息<br>
     * 〈功能详细描述〉
     *
     * @author 17033093
     * @see [相关类/方法]（可选）
     * @since [产品/模块版本] （可选）
     */
    public static interface EmailSCMConfig {
        /**
         * 邮箱地址
         */
        String EMAIL_URL = "email_url";

        /**
         * 用户key
         */
        String EMAIL_WS_USER = "email_wsUser";

        /**
         * 用户密码
         */
        String EMAIL_WS_PWD = "email_wsPwd";

        /**
         * 邮箱模板ID
         */
        String EMAIL_TEMPLATE_ID = "email_templateId";

        /**
         * appCode
         */
        String APP_CODE = "SNSAWP";

        String OPERATION = "sendEmail";

        String SERVICE_CODE = "EmailMgmt";

        /**
         * 优先级1-3,1最低
         */
        int PRIORTY_THREE = 3;

        int GROUP_ID = 1;

        /**
         * 苏宁邮箱后缀
         */
        String EMAIL_SUFFIX = "@cnsuning.com";
    }

    /**
     * 
     * 〈一句话功能简述〉导出文件格式<br>
     * 〈功能详细描述〉
     *
     * @author 17033093
     * @see [相关类/方法]（可选）
     * @since [产品/模块版本] （可选）
     */
    public static interface ExportFileSuffix {
        /**
         * 导出文件为.xlsx格式
         */
        String EXPORT_FILE_SUFFIX_XLSX = ".xlsx";

        /**
         * 导出文件为.csv格式
         */
        String EXPORT_FILE_SUFFIX_CSV = ".csv";
    }

    /**
     * 
     * 〈一句话功能简述〉OSS文件系统参数<br>
     * 〈功能详细描述〉
     *
     * @author 17033093
     * @see [相关类/方法]（可选）
     * @since [产品/模块版本] （可选）
     */
    public static interface OSSFileParams {
        /**
         * 文件导出bucketName
         */
        String BUCKET_EXPORT = "snsawp_export";

        /**
         * OSS文件有效期1天(文件有效期天数，1-365天)
         */
        String FILE_CYCLE_TIME = "1";
        
        /**
         * 有效期1年
         */
        String FILE_CYCLE_TIME_ONE_YEAR = "365";
    }

    /**
     * 
     * 〈一句话功能简述〉导出功能需要执行的Service方法名称<br>
     * 〈功能详细描述〉
     *
     * @author 17033093
     * @see [相关类/方法]（可选）
     * @since [产品/模块版本] （可选）
     */
    public static interface ExportMethodName {
        /**
         * 样机清单导出方法名
         */
        String EXPORT_EXCEL_MODEL_BY_STORE_EX = "exportExcelModelByStoreEx";

        /**
         * 商品簇导出方法名
         */
        String EXPORT_COMM_CLUSTER_EX = "exportCommClusterEx";

        /**
         * 异常清单导出方法名
         */
        String EXPORT_EXCEL_MODEL_EXPT_BY_STORE_EX = "exportExcelModelExptByStoreEx";

        /**
         * 已分配任务导出方法名
         */
        String EXPORT_HASASSIGN_TASK_EX = "exportHasAssignTaskEx";

        /**
         * 样机有效性导出方法名
         */
        String EXPORT_MODEL_EFFECT_EX = "exportModelEffectEx";

        /**
         * 财务异常清单导出方法名
         */
        String EXPORT_SALE_MODEL_EXPT_EX = "exportSaleModelExptEx";

        /**
         * 未分配任务统计导出方法名
         */
        String EXPORT_UNASSIGN_TASK_EX = "exportUnassignTaskEx";
        
        /**
         * 样机有效率导出方法名
         */
        String EXPORT_MODEL_VALID_EX = "exportModelValidAreaEx";
        
        /**
         * 样机清单导出方法名
         */
        String EXPORT_EXCEL_MODEL_TASK = "exportExcelModelTask";
        
        /**
         * 样机监控导出方法名
         */
        String EXPORT_EXCEL_MODEL_MONITOR = "exportExcelModelMonitor";
        
        /**
         * 样机贡献率导出方法名
         */
        String EXPORT_MODEL_CONTRIBUTION_EX = "exportModelContributionAreaEx";
    }
}
